iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 21
0
Software Development

30天的python學習 系列 第 21

python30天-DAY21-pandas(7)

  • 分享至 

  • xImage
  •  

接續我們昨天的進度,我們得出了data中所有AgeNaN的列表,這樣就可以方便讓我們進行計算了。

在昨天我們用了isnull() 函數來得出了空值為 True、有值為False,如下圖https://ithelp.ithome.com.tw/upload/images/20200921/20129601apCf1k6tFI.png

於是我們就可以寫一個判斷式來做計算。

import pandas as pd
csv = "titanic.csv"
data = pd.read_csv(csv)
age_null=pd.isnull(data.Age)
have_age=data.Age[age_null==False]#(將age_null中結果為False的篩選出來,也就是將有值的拿出來)
age_mean=sum(have_age)/len(have_age)
age_mean

29.69911764705882

我們將age_null(也就是上一張圖的結果)中的False拿出來給have_age,所以have_age裡存的就是dataAge裡有值的數據。
接著我們就可以用have_age來計算平均數了。

雖然我們得出了平均數了,但是有沒有覺的計算的過程比較繁瑣,那有沒有更簡單的方式呢?

答案是有的,我們可以用pandas裡的 mean() 函數,我們只需要簡單的一行就可以將平均數算出來了。

data.Age.mean()

29.69911764705882
可以看到得出來的值是一模一樣的。
有沒有體會到 pandas 的方便呢?

明天開始會繼續用一些例子來演示 pandas 的功能。


上一篇
python30天-DAY20-pandas(6)
下一篇
python30天-DAY22-pandas(8)
系列文
30天的python學習 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言